package com.huaxin.hxmodulesystem.models;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 权限定义实体类
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("permissions")
public class Permission extends BaseModel {

    /**
     * 权限标识（如: order.create）
     */
    @TableField(value = "permission_key")
    private String permissionKey;

    /**
     * 权限名称
     */
    @TableField(value = "permission_name")
    private String permissionName;

    /**
     * 描述
     */
    @TableField(value = "description")
    private String description;

    /**
     * 功能路径（如: /api/order/create）
     */
    @TableField(value = "function_path")
    private String functionPath;

    /**
     * 类型：1-系统；2-模块；3-页面；4-功能；5-按钮
     */
    @TableField(value = "type")
    private Integer type;
    /**
     * 应用类型：1-APP；2-小程序；3-企业管理后台；4-大屏；5-系统管理后台
     */
    @TableField(value = "application_type")
    private Integer applicationType;

    /**
     * 功能类型：1-普通用户功能；2-企业用户功能；
     */
    @TableField(value = "user_type")
    private Integer userType;
    /**
     * 父级权限ID
     */
    @TableField(value = "parent_id")
    private String parentId;

    /**
     * 组织ID
     */
    @TableField(value = "org_id")
    private String orgId;
    // orgId 已在 BaseModel 中定义，无需重复声明
    // created_at, updated_at, is_deleted 等也已在父类中定义
}